package edu.yzu.testspringboot002.service.impl;


import edu.yzu.testspringboot002.config.handler.PwdUtil;
import edu.yzu.testspringboot002.mapper.DoctorsMapper;
import edu.yzu.testspringboot002.po.ActiveInfo;
import edu.yzu.testspringboot002.po.Doctor;

import edu.yzu.testspringboot002.po.Team;
import edu.yzu.testspringboot002.po.WeChatDTO;
import edu.yzu.testspringboot002.po.dto.DoctorCallInfoDTO;
import edu.yzu.testspringboot002.po.dto.DoctorQueryDTO;
import edu.yzu.testspringboot002.po.dto.PatientQueryDTO;
import edu.yzu.testspringboot002.po.dto.UserLogoDTO;
import edu.yzu.testspringboot002.po.vo.DoctorDetailVO;
import edu.yzu.testspringboot002.po.vo.DoctorInfoVO;
import edu.yzu.testspringboot002.service.DoctorService;
import edu.yzu.testspringboot002.utils.Pager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;

@Service
public class DoctorServiceImpl implements DoctorService {
    @Autowired
    private DoctorsMapper doctorMapper;

    public void addDoctor(Doctor doctor) {
        doctorMapper.insertDoctor(doctor);
    }

    public Doctor getDoctorById(int id) {
        return doctorMapper.selectDoctorById(id);
    }

    @Override
    public List<Doctor> getAllDoctor() {
        return null;
    }

    public List<Doctor> getAllDoctors() {
        return doctorMapper.selectAllDoctors();
    }

    public void updateDoctor(Doctor doctor) {
        doctorMapper.updateDoctor(doctor);
    }

    @Override
    public Pager<Doctor> pageInfo(Map<String, Object> params) {
        return null;
    }

    @Override
    public void saveOrUpdateDoctor(Doctor Doctor) {

    }

    @Override
    public void deleteDoctor(Integer[] id) {

    }

    @Override
    public Doctor getDoctor(Integer id) {
        return null;
    }

    @Override
    public Doctor saveAppDoctor(Doctor Doctor) {
        return null;
    }

    @Override
    public List<Doctor> getByDeptId(Long id) {
        return null;
    }

    @Override
    public List<DoctorInfoVO> getDeptAndDoctorList(String code) {
        return null;
    }

    @Override
    public void updateDoctorRemark(PatientQueryDTO patientQueryDTO) {

    }

    @Override
    public DoctorDetailVO getDoctorDetailInfo(Integer doctorId) {
        return null;
    }

    @Override
    public List<Doctor> getAllDoctor(String deptId, Integer doctorId) {
        return null;
    }

    @Override
    public void updateUserLogo(UserLogoDTO userLogoDTO) {

    }

    @Override
    public List<DoctorCallInfoDTO> getDoctorCallInfo(String doctorIds) {
        return null;
    }

    @Override
    public void auditDoctor(DoctorQueryDTO doctorQueryDTO) {

    }

    @Override
    public void settingTeamAdmin(DoctorQueryDTO doctorQueryDTO) {

    }

    @Override
    public void initCacheDoctorDB() {

    }

    @Override
    public List<Map<String, Object>> getDoctorTJ() {
        return null;
    }

    @Override
    public void pushMessage(List<Doctor> DoctorList, ActiveInfo activeInfo, Integer hasPush) {

    }

    @Override
    public void updateOpenId() {

    }

    @Override
    public List<Team> getTeamList(Integer doctorId) {
        return null;
    }

    @Override
    public List<DoctorInfoVO> teamDoctorList(Long teamId) {
        return null;
    }

    @Override
    public List<Doctor> getDoctorByPhone(String phone) {
       // String phone=PwdUtil.base64Encode(weChatDTO.getPhone());
       return doctorMapper.selectDoctorByPhone(phone);

    }

//    public void deleteDoctor(int id) {
//        doctorMapper.deleteDoctor(id);
//    }
}